package com.qinglei.recoup.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 护工数据统计表
 *
 * @author syp
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_nurse_statistics")
@ApiModel(value = "NurseStatistics对象", description = "护工数据统计表")
public class NurseStatistics implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "护工ID")
    private Long userId;

    @ApiModelProperty(value = "统计日期")
    private LocalDate statisticsDate;

    @ApiModelProperty(value = "工作时长 单位秒")
    private Integer workTime;

    @ApiModelProperty(value = "巡查总次数")
    private Integer tourTotalTimes;

    @ApiModelProperty(value = "巡查完成次数")
    private Integer tourFinishTimes;

    @ApiModelProperty(value = "巡查总用时")
    private Integer tourUseTime;

    @ApiModelProperty(value = "异常接单次数")
    private Integer eventTakeTimes;

    @ApiModelProperty(value = "异常响应时长 单位秒")
    private Integer eventWaitTime;

    @ApiModelProperty(value = "异常完成次数")
    private Integer eventFinishTimes;

    @ApiModelProperty(value = "异常处理时长 单位秒")
    private Integer eventProcTime;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "修改时间")
    private LocalDateTime modifyTime;

    @ApiModelProperty(value = "漏掉异常次数")
    private Integer missedEventTimes;

    @ApiModelProperty(value = "用户总数")
    @TableField(exist = false)
    private Integer userCount;
    @ApiModelProperty(value = "在线时间")
    @TableField(exist = false)
    private String workTimeStr;
}
